'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 aretextur
.ds Xs 9130 5 aretexturesresident.gl
.TH GLARETEXTURESRESIDENT 3G
.SH NAME
.B "glAreTexturesResident
\- determine if textures are loaded in texture memory

.SH C SPECIFICATION
GLboolean \f3glAreTexturesResident\fP(
GLsizei \fIn\fP,
.nf
.ta \w'\f3GLboolean \fPglAreTexturesResident( 'u
	const GLuint \fI*textures\fP,
	GLboolean \fI*residences\fP )
.fi

.SH PARAMETERS
.TP \w'\fIresidences\fP\ \ 'u 
\f2n\fP
Specifies the number of textures to be queried.
.TP
\f2textures\fP
Specifies an array containing the names of the textures to be queried.
.TP
\f2residences\fP
Specifies an array in which the texture residence status is returned.
The residence status of a texture named by an element of \f2textures\fP is
returned in the corresponding element of \f2residences\fP.
.SH DESCRIPTION
GL establishes
a ``working set'' of textures that are resident in texture memory.
These textures can be bound to a texture target much more efficiently
than textures that are not resident.
.P
\%\f3glAreTexturesResident\fP queries the texture residence status of the \f2n\fP textures named by
the elements of \f2textures\fP.
If all the named textures are resident,
\%\f3glAreTexturesResident\fP returns \%\f3GL_TRUE\fP,
and the contents of \f2residences\fP are undisturbed.
If not all the named textures are resident, \%\f3glAreTexturesResident\fP returns \%\f3GL_FALSE\fP,
and detailed status is returned in the \f2n\fP elements of \f2residences\fP.
If an element of \f2residences\fP is \%\f3GL_TRUE\fP, then the texture named by
the corresponding element of \f2textures\fP is resident.
.P
The residence status of a single bound texture may also be queried
by calling 
\%\f3glGetTexParameter\fP with the \f2target\fP argument set to the
target to which the texture is bound, and the \f2pname\fP argument
set to \%\f3GL_TEXTURE_RESIDENT\fP.
This is the only way that the residence status of a default texture can be
queried.
.SH NOTES
\%\f3glAreTexturesResident\fP is available only if the GL version is 1.1 or greater.
.P
\%\f3glAreTexturesResident\fP returns the residency status of the textures at the time of
invocation. It does not guarantee that the textures will remain
resident at any other time. 
.P
If textures reside in virtual memory (there is no texture memory), they
are considered always resident. 
.P
Some implementations may not load a texture until the first use of
that texture.
.SH ERRORS
\%\f3GL_INVALID_VALUE\fP is generated if \f2n\fP is negative.
.P
\%\f3GL_INVALID_VALUE\fP is generated if any element in \f2textures\fP
is 0 or does not name a texture. In that case, the function returns
\%\f3GL_FALSE\fP and the contents of \f2residences\fP is indeterminate. 
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glAreTexturesResident\fP is executed
between the execution of \%\f3glBegin\fP and the corresponding
execution of \%\f3glEnd\fP.
.SH ASSOCIATED GETS
\%\f3glGetTexParameter\fP with parameter name \%\f3GL_TEXTURE_RESIDENT\fP
retrieves the residence status of a currently bound texture.
.SH SEE ALSO
\%\f3glBindTexture(3G)\fP,
\%\f3glGetTexParameter(3G)\fP,
\%\f3glPrioritizeTextures(3G)\fP,
\%\f3glTexImage1D(3G)\fP,
\%\f3glTexImage2D(3G)\fP,
\%\f3glTexImage3D(3G)\fP,
\%\f3glTexParameter(3G)\fP
